const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    index: 0,
    picker: [], // 小组列表
    isShow: false, // 登录弹窗 显示/隐藏 控制变量
    isInvisible: 0,
    isInvisiblePicker: ['是', '否'],
    username: '', // 姓名
    mobile: '', // 手机号
    company: '', // 公司名称
    personal_read_id: '', // 活动id
    fontSetSize: 'small', // 用户设置的字体大小（'small'：小，'middle'：中，'large'：大）
  },

  /**
   * 获取用户基本信息并登录
   */
  onGotUserInfo(e) {
    console.log(e, 'userInfoData')
    let _this = this
    if (e.detail.errMsg == 'getUserInfo:ok') {
      wx.showLoading({
        title: '登录中'
      })
      let wx_iv = e.detail.iv
      let encryptedData = e.detail.encryptedData
      // 获取微信小程序code
      wx.login({
        success: function (res) {
          let wx_code = res.code
          // 登录
          app.http({
            config: {
              url: '/api/User/wx_login',
              data: {
                wx_iv: wx_iv,
                encryptedData: encryptedData,
                wx_code: wx_code
              },
              method: 'POST'
            },
            isAuth: false
          }).then(res => {
            console.log(res, 'loginRes')
            // 将token存储到本地缓存
            wx.setStorageSync('token', res.data.data.token)
            wx.setStorageSync('userInfo', res.data.data)
            let timer = setTimeout(() => {
              wx.hideLoading()
              clearTimeout(timer)
            }, 100)
            /**
             * 设置token在本地缓存的存储时间
             */
            let timestamp = Date.parse(new Date()) // 当前时间（即登录时间）的时间戳（毫秒）
            // let expiration = timestamp + (3 * 24 * 3600000) // 缓存3天
            let expiration = timestamp + (332666 * 1000) // token有效时间，后端告诉的
            wx.setStorageSync('expiration', expiration)
            _this.getPersonalInfo()
          }).catch(err => {
            console.log(err, 'loginErr')
            wx.hideLoading()
          });
        }
      })
    } else {
      console.log('用户拒绝权限')
    }
  },

  /**
   * 获取我的个人信息
   */
  getPersonalInfo() {
    let token = wx.getStorageSync('token')
    app.http({
      config: {
        url: '/api/User/personal_info',
        data: {
          token
        },
        method: 'POST'
      },
      isAuth: true
    }).then(res => {
      console.log(res, 'personalInfoRes')
      this.setData({
        personalInfo: res.data.data
      })
      wx.setStorageSync('identity_status', res.data.data.identity_status)
    }).catch(err => {
      console.log(err, 'personalInfoErr')
      if (err.data.code == 400) {
        this.setData({
          isShow: true
        })
      }
    })
  },

  // 获取小组列表
  getTeamList () {
    let token = wx.getStorageSync('token')
    let _this = this
    app.http({
      config: {
        url: '/api/User/team_list',
        data: {
          token,
          class_id: _this.data.personal_read_id,
          type: 3
        },
        method: 'POST'
      },
      isAuth: false
    }).then(res => {
      console.log(res, 'teamListRes')
      let picker = []
      let teamList = res.data.data
      if (teamList.length > 0) {
        teamList.forEach(element => {
          picker.push(element.team_name)
        })
      } else {
        picker.push('暂无小组')
      }
      this.setData({
        picker,
        teamList
      })
    }).catch(err => {
      console.log(err, 'teamListErr')
      if (err.data.code == 400) {
        this.setData({
          isShow: true
        })
      }
    })
  },

  // 获取小组
  PickerChange (e) {
    this.setData({
      index: e.detail.value
    })
  },

  // 获取姓名
  getUsername (e) {
    this.setData({
      username:e.detail.value
    })
  },

  // 获取手机号码
  getMobile (e) {
    this.setData({
      mobile: e.detail.value
    })
  },

  // 获取公司名称
  getCompany (e) {
    this.setData({
      company: e.detail.value
    })
  },

  // 发送填写资料
  onSend () {
    let token = wx.getStorageSync('token')
    let team_id = this.data.teamList[this.data.index].id
    let is_Invisible = 1
    let personal_read_id = this.data.personal_read_id
    let name = this.data.username
    // let phone = this.data.mobile
    let company_name = this.data.company
    // console.log(token)
    app.http({
      config: {
        url: '/api/User/add_activity_team',
        data: {
          token,
          team_id,
          is_Invisible,
          personal_read_id,
          name,
          // phone,
          company_name
        },
        method: 'POST'
      },
      isAuth: true
    }).then(res => {
      console.log(res, 'joinRes')
      wx.showModal({
        title: '提示',
        content: res.data.message,
        showCancel: false,
        success (result) {
          if (result.confirm) {
            wx.navigateBack({
              delta: 1,
            })
          }
        }
      })
    }).catch(err => {
      console.log(err, 'joinErr')
      wx.showToast({
        title: err.data.message,
        icon: 'none',
        duration: 1500,
        mask: true
      })
      let timer = setTimeout(() => {
        wx.hideToast()
        clearTimeout(timer)
      }, 1500)
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let personal_read_id = options.personal_read_id
    console.log('personal_read_id:', personal_read_id)
    this.setData({
      personal_read_id
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let fontSetSize = wx.getStorageSync('fontSetSize') // 本地缓存中用户设置的字体大小
    if (fontSetSize) {
      this.setData({
        fontSetSize
      })
    }
    this.getTeamList()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})